%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% F O N T S %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%% % The majority of the fonts have been defined as LaTeX commands so % that traditional LaTeX font selection can be utilized. The font % commands are defined as: % % \ChBassFont - Sets the font for the bass note in chords as % printed by the \Ch and \ChX commands. % \ChFont - Sets the font for chords as printed by the \Ch and % \ChX commands. % \CpyRtFont - sets the font used to print the copyright line % produced by the \CpyRt command. % \CpyRtInfoFont - sets the font used to print the copyright % licensing information parameter of the \song % environment; which appears after the copyright % information parameter under the song title. % \SBChorusTagFont - sets the font used to print the chorus tag % (“Ch:”). % \SBDefaultFont - sets the default font for the songbook. For % this command to be effective it should appear within % the songbook itself. % \SBOccursBrktFont - sets the font used to create the large % left and right square brackets used to delimit the % \SBOccurs environment. % \SBIntroTagFont - sets the font used to print the introduction % tag (“Intro:”). % \SBOccursTagFont - sets the font used to create the \SBOccurs % tag. % \SBRefFont - sets the font used in the marginal reference % printed by the \SBRef command. % \SBVerseNumberFont - sets the font used to print the % \SBVerseCnt in front of verses in an SBVerse % environment. % \STitleFont - sets the font used to print the song title, as % generated by the \STitle command. % \STitleKeyFont - sets the font used to print the key a song is % written in, as generated by the \STitle command. % \STitleNumberFont - sets the font used to print the \SBSongCnt % in front of the song title, as generated by the % \STitle command. % \ScriptRefFont - sets the font used to print the scripture % reference generated by the \ScriptRef command. % \WandMFont - sets the font used to print the lyricist and % composer line generated by the \B\bs WandM command. % \lyricNoteFont - sets the font used in comments placed within % the lyrics giving musical direction. This is the only % font command commonly used by the writer of a % songbook. %%% \font\STNFont=cmtt12 at 20pt \font\SBOBFont=cmss17 at 30pt \newcommand{\ChBassFont{\normalsize\bf\sf % = cmss12 at ??pt \newcommand{\ChFont{\bf\sf % = cmss12 at 14.4pt \newcommand{\CpyRtFont{\footnotesize % = cmr10 at 10pt \newcommand{\CpyRtInfoFont{\tiny%\sf % = cmss8 at 8pt \newcommand{\SBChorusTagFont{\small\bf\sf % = cmss10 at 10.9pt \newcommand{\SBDefaultFont{\large % = cmr12 at 14.4pt \newcommand{\SBIntroTagFont{\small\bf\sf % = cmss10 at 10.9pt \newcommand{\SBOccursBrktFont{\SBOBFont % = cmss17 at 30pt \newcommand{\SBOccursTagFont{\small\bf\sf % = cmss10 at 10.0pt \newcommand{\SBRefFont{\scriptsize % = cmti8 at 8pt \newcommand{\SBVerseNumberFont{\small\bf\sf % = cmss10 at 10.9pt \newcommand{\STitleFont{\bf\sf % = cmss12 at 14.4pt \newcommand{\STitleKeyFont{\large % = cmr12 at 14.4pt \newcommand{\STitleNumberFont{\STNFont % = cmtt12 at 20pt \newcommand{\ScriptRefFont{\footnotesize % = cmr10 at 10pt \newcommand{\WandMFont{\footnotesize % = cmr10 at 10pt \newcommand{\lyricNoteFont{\footnotesize\sf % = cmss10 at 10pt

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% C O N S T A N T S & V A R I A B L E S %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%% % Boolean Contants. % \False - Defined for use in \if macro contructs and the other % constants in this style. % \True - Defined for use in \if macro contructs and the other % constants in this style. %% % \ChordBk - Are we processing a chordbk.sty document? % \HangAmt - Amount to indent when a line wraps. This has been % defined using \newcommand instead of \newlength so that % any unit definitions are evaluated at the time the % \HangAmt command is used. % \Overhead - Are we processing an overhead.sty document? % \SongEject - Do we want to end the current page at the end of % every {song environment? A value of \True means % eject after every {song environment. % \WordBk - Are we processing a wordbk.sty document? % \WordsOnly - Is equal to \True if we’re in words only mode. % The default value will be false, as that is how all of % the commands in this file will act. %%% \newcommand{\False{0 \newcommand{\True{1 \newcommand{\ChordBk{\False \newcommand{\HangAmt{1.5em \newcommand{\Overhead{\False \newcommand{\SongEject{\True \newcommand{\WordBk{\False \newcommand{\WordsOnly{\False

%%% % Define Counters used herein. % % \theSBSongCnt - The verse counter is used for numbering the % songs. When a song is listed multiple times (for % multiple keys) the songs number must remain the same % each time. % \theSBVerseCnt - The verse counter is used for numbering % verses as they occur within a song. %%% \newcounter{SBSongCnt \newcounter{SBVerseCnt

%%% % Define spaces to leave in various situations. % % All of these spaces are defined as LaTeX commands to overcome % limitations in length evaluation. For example, if % \LeftMarginSBVerse were to be defined as a length, and then % immediately set to 4em’s the specific length would be evaluated with % respect to the current font. This is not be what is desired; % instead a length evaluated with respect to the font in place at the % start of an SBVerse is what is desired. This can only be done by % making these lengths LaTeX commands. % % \SpaceAboveSTitle - The space skipped by the \STitle macro % before it prints the song title. % \LeftMarginSBChorus - The amount of left margin left in front % of named choruses in the songbook. % \LeftMarginSBVerse - The amount of left margin left in front % of verses in the songbook. %%% \newcommand{\SpaceAboveSTitle{.5in \newcommand{\LeftMarginSBChorus{4em \newcommand{\LeftMarginSBVerse{4em

%%% % Declare song attribute variables. % % These variables are intended for consumption within the songbook % style itself, so they will not be documented on the manual page. % % \theSongComposer - The composer and lyricist of the last song. % \theSongKey - The key of the last song. This variable must be % reset within the \STitle command, as well as at the % start of the song environment, because of the way in % which extra keys are handled. % \theSongLicense - The copyright license info. % \theSongTitle - The title of the last song. % \theCopyRtInfo - The copyright information of the last song. % This includes the copyright licensing information. % \theScriptureRef - The scripture reference of the last song. % \theXlatnBy - Who translated the song. % \theXlatnPerm - The permission details for the last song- % translation. This variable is reset to an empty % string at the start of each song environment. % \theXlatnTitle - The title of the last song-translation. This % variable is reset to an empty string at the start of % each song environment. %%% \newcommand{\theSongComposer{the Composer \newcommand{\theSongCopyRt{the Copyright \newcommand{\theSongKey{the Key \newcommand{\theSongLicense{the License \newcommand{\theSongScriptRef{the Scripture \newcommand{\theSongTitle{the Title \newcommand{\theXlatnBy{the Translator \newcommand{\theXlatnPerm{the Permission \newcommand{\theXlatnTitle{the Translation Title

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% S P E C I A L C H A R A C T E R S %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%% % \SBem - em-dash macro definition. % Parameters: None. % % Generate an em-dash within a songbook. This macro is used to place % in em-dash within text when we’re NOT in words-only mode. This % allows us to place dashes within text in order to make room for % chords that are bigger than their sylables; yet, that dash will not % appear in the words-only book. The words-only version of this macro % is a no-op. %%% \newcommand{\SBem{\if\WordsOnly\False —\fi

%%% % \SBen - en-dash macro definition. % Parameters: None. % % Generate an en-dash within a songbook. This macro is used to place % in en-dash within text when we’re NOT in words-only mode. This % allows us to place dashes within text in order to make room for % chords that are bigger than their sylables; yet, that dash will not % appear in the words-only book. The words-only version of this macro % is a no-op. %%% \newcommand{\SBen{\if\WordsOnly\False –\fi

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% T A B L E O F C O N T E N T S %% %% %% %% A N D I N D I C E S %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%% % \makeTitleIndex - Start creation of a title & first line index. % Parameters: None. % % This code is stolen from latex.tex. %%% \def\makeTitleIndex{\if@filesw \newwrite\@titleIndexfile \immediate\openout\@titleIndexfile=\jobname.tIdx \def\titleIndex{\@bsphack\begingroup \def\protect####1{\string####1\space\@sanitize \@wrTitleIndex\typeout {Writing index file \jobname.tIdx \fi

%%% % \titleIndex - Make an entry in the title & first line index. % Parameters: % [1] Song title or first line. % [2] Song number. % % This code is stolen from latex.tex. %%% \def\@wrTitleIndex#1#2{\let\thepage\relax \xdef\@gtempa{\write\@titleIndexfile{\string \indexentry{#1}{#2}\endgroup\@gtempa \if@nobreak \ifvmode\nobreak\fi\fi\@esphack

\def\titleIndex{\@bsphack\begingroup \@sanitize\@titleIndex

\def\@titleIndex#1#2{\endgroup\@esphack

%%% % \makeTitleContents - Start creation of a table of contents % Parameters: None. % % This code is stolen from latex.tex. %%% \def\makeTitleContents{\if@filesw \newwrite\@titleContentsfile \immediate\openout\@titleContentsfile=\jobname.toc \def\titleContents{\@bsphack\begingroup \def\protect####1{\string####1\space\@sanitize \@wrTitleContents\typeout {Writing table of contents file \jobname.toc \fi

%% % \titleContents - Make an entry in the table of contents file % Parameters: % [1] Song number. % [2] Song title. % % This code is stolen from latex.tex. %%% \def\@wrTitleContents#1#2{\let\thepage\relax \xdef\@gtempa{\write\@titleContentsfile{\string \item\ \theSBSongCnt. #1\protect\hbox{, \thepage}}\endgroup\@gtempa \if@nobreak \ifvmode\nobreak\fi\fi\@esphack

\def\titleContents{\@bsphack\begingroup \@sanitize\@titleContents

\def\@titleContents#1#2{\endgroup\@esphack

%%% % \FLineIdx - Add a first line of song entry to index/idx file. % Parameters: % [1] First line of song. %%% \newcommand{\FLineIdx[1]{\titleIndex{#1{\it #1\/{\theSBSongCnt

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% P R I M A R Y S O N G B O O K M A C R O S %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%% % \STitle - Song title macro definition. % Paramaters: % [1] Song’s title. % [2] Song’s Key. % % Before printing the title we reset the SBVerseCnt counter back to % zero. This is for songs which are printed in more than one key, % because the verse count always begins at 1. for each key. % % This macro also makes an entry in the table of contents. %%% \newcommand{\STitle[2]{\setcounter{SBVerseCnt{0 \vspace{\SpaceAboveSTitle \centerline{{\STitleNumberFont\theSBSongCnt{\STitleFont\ — #1 \if\WordsOnly\False {\STitleKeyFont\ [{\Chord #2\relax] \fi

%%% % \CpyRt - Copyright info. macro definition. % Paramaters: % [1] Copyright information. % [2] Copyright licensing information. %%% \newcommand{\CpyRt[2]{\centerline{\CpyRtFont\copyright #1 #2

%%% % \WAndM - Words and Music macro definition. % Paramaters: % [1] Name(s) of the composer and lyricist. %%% \newcommand{\WAndM[1]{\centerline{\WandMFont W\&M: #1

%%% % \ScriptRef - Scripture reference macro definition. % Paramaters: % [1] Address of scripture reference for the song. % % Used to indicate a scripture reference for the song. May either be % the scripture being quoted in the song, or a scripture which % supports the theology presented in the song. %%% \newcommand{\ScriptRef[1]{\centerline{\ScriptRefFont #1

%%% % {song - Song environment definition. % [1] Title of song. % [2] Key song is written in. % [3] Copyright information. % [4] Name(s) of composer and lyricist. % [5] Scripture reference for the song. % [6] Copyright licensing information. % % The song environment encapsulates a song, including multiple % appearances for multiple keys and translations. We increment % the song counter and then cause the title and other paramater % information to be displayed. % % NOTE: This environment makes use of \everypar. %%% \newenvironment{song[6]{ % Comment marker negates the newline. \if\WordsOnly\True % \setlength{\parindent{0pt % \fi % \renewcommand{\theSongComposer{#4 % \renewcommand{\theSongCopyRt{#3 % \renewcommand{\theSongKey{#2 % \renewcommand{\theSongLicense{#6 % \renewcommand{\theSongScriptRef{#5 % \renewcommand{\theSongTitle{#1 % \renewcommand{\theXlatnBy{ % \renewcommand{\theXlatnPerm{ % \renewcommand{\theXlatnTitle{ % % \addtocounter{SBSongCnt{1 % \titleIndex{\theSongTitle{\theSBSongCnt % \titleContents{\theSongTitle{\theSongKey % % \STitle{\theSongTitle{\theSongKey \CpyRt{\theSongCopyRt{\theSongLicense \vspace{-.5ex \WAndM{\theSongComposer \vspace{-.5ex \ScriptRef{\theSongScriptRef \everypar={\hangafter=1\hangindent=\HangAmt% {\if\SongEject\True \vfill\pagebreak \else \vspace{0ex plus15ex minus0ex \fi

%%% % {xlatn - Song-tranlation environment definition. % [1] Title of the translated song. % [2] Translation permission. % [3] Who performed the translation. % % The xlatn environment always occurs within a song environment. % We reset the verse counter then cause the title and other % parameter information to be displayed. It is important for the % xlatn environment to occur within a song environment, because the % xlatn environment inherits the song environment’s \everypar % definition. %%% \newenvironment{xlatn[3]{ % Comment marker negates the newline. \renewcommand{\theXlatnBy{#3 % \renewcommand{\theXlatnPerm{#2 % \renewcommand{\theXlatnTitle{#1 % % \titleIndex{\theXlatnTitle{\theSBSongCnt % \titleContents{\theXlatnTitle{\theSongKey % % \STitle{\theXlatnTitle{\theSongKey \CpyRt{\theSongCopyRt{\theSongLicense \vspace{-.5ex \centerline{\CpyRtFont\theXlatnPerm \vspace{-.5ex \centerline{\CpyRtFont\theXlatnBy % \setcounter{SBVerseCnt{0 % {

%%% % \Chord - Change the sequence of characters into a chord. % Parameters: % [1] Chord. %

% The original version of this function was written by Philip % Hirschhorn (psh@math.mit.edu or phirschhorn@lucy.wellesley.edu). % % Scan the sequence of characters in Chord. Replace ‘#’ characters % with $\sharp$’s and ‘b’ characters with $\flat$. This produces more % realistic looking chord symbols (which also take up less space than % their phoney counterparts). We also look for ’/’ characters, and % insert a \ChBassFont command into the stream when a ’/’ is found. % This makes the bass note of the chord to appear in a smaller font. % \def\Chord#1{\ifx#1\relax \let\next=\relax \else \ifx#1##% double sharp because we’re inside a \def $\sharp$% \else \ifx#1b% $\flat$% \else \ifx#1/% \ChBassFont /% \else #1% \fi \fi \fi \let\next=\Chord \fi \next

%%% % \Ch - Chord over lyrics macro definition. % \ChX - Chord over lyrics macro, deleting trailing spaces. % Paramaters: % [1] Chord. % [2] Syllable that chord is to be left justified over. % % The words-only style file turns off the chord generation and just % prints the second parameter. The \ChX version of this macro is used % in the words only style to ensure that spaces following the macro % are removed. For example, a line ending with an extra couple of % dangling chords could be written as: % \ChX{D7{ing. \ChX{E{ \ChX{D{ % \newcommand{\Ch[2]{\if\WordsOnly\False{\leavevmode\vbox{\hbox{\strut\ChFont\Chord#1\relax\hbox{#2\strut\else#2\fi \newcommand{\ChX[2]{\if\WordsOnly\False\Ch{#1{#2\else\if\naught{#2\ignorespaces\else#2\fi\fi

%%% % \SBMargNote - Songbook marginal note. % Paramaters: % [1] Text of note to place in margin. % % Used to place a note of some kind in the margin of a songbook. In words % only mode this macro is a no-op. %%% \newcommand{\SBMargNote[1]{\if\WordsOnly\True \else \marginpar{{\begin{flushleft\SBRefFont{#1\end{flushleft \fi

%%% % \SBRef - Song reference definition. % Paramaters: % [1] Songbook name. % [2] Page/Song number within book ref’ed by [1]. % % Used to indicate a source for the full SATB music for this song. % In words only mode this macro is a no-op. %%% \newcommand{\SBRef[2]{\if\WordsOnly\True \else \marginpar{{\begin{flushleft\SBRefFont{\em #1, {#2.\end{flushleft \fi

%%% % \begin{SBVerse - Verse environment definition. % Parameters: None. % % Very much like LaTeX’s verse environment, except that here the % verses are numbered. The indent amount for lines that are too long % is set with the \HangAmt command (see the constant definitions at % the top of this file). %%% \newenvironment{SBVerse{ \addtocounter{SBVerseCnt{1 \begin{list{{\SBVerseNumberFont \theSBVerseCnt .\hskip\HangAmt {\setlength{\leftmargin{\LeftMarginSBVerse \setlength{\parsep{0pt\addtolength{\leftmargin{\HangAmt \setlength{\listparindent{-\HangAmt\addtolength{\labelwidth{\HangAmt \item\hskip -\HangAmt {\end{list\par

%%% % \begin{SBChorus - Chorus environment definition. % Parameters: None. % % Very much like LaTeX’s verse environment, except that here a ‘Ch:’ % tag is inserted to demark the start of the chorus. The indent % amount for lines that are too long is set with the \HangAmt command % (see the constant definitions at the top of this file). %%% \newenvironment{SBChorus{ \begin{list{{\SBChorusTagFont Ch:\hskip\HangAmt {\setlength{\leftmargin{\LeftMarginSBChorus \setlength{\parsep{0pt\addtolength{\leftmargin{\HangAmt \setlength{\listparindent{-\HangAmt\addtolength{\labelwidth{\HangAmt \item\hskip -\HangAmt {\end{list\par

%%% % \SBIntro - Introduction definition. % Parameters: % [1] The Introduction. % % This command is used to encapsulate any introduction to a song. In % words only mode this command is a no-op. %%% \newcommand{\SBIntro[1]{\if\WordsOnly\False \begin{list{{\SBIntroTagFont Intro: {\setlength{\leftmargin{\LeftMarginSBChorus \setlength{\parsep{0pt \item #1 \end{list\par \fi

%%% % \begin{SBOccurs - Occurance environment definition. % Parameters: % [1] Occurance number(s). For example "1,3" would % designate that this passage applies to the 1st and % 3rd occurances. %%% \newenvironment{SBOccurs[1]{ {\SBOccursTagFont #1\SBOccursBrktFont [ {{\SBOccursBrktFont ]

%%% % \begin{SBExtraKeys - Extra song keys environment definition. % Parameters: % [1] This paramater actually is used to either pass or % not pass all the content of the environment on to % the LaTeX processor. % % Songs are frequently listed in more than one key. This is ok for % books with chords, however the words only edition should only print % one occurance of a song. So, any extra keys are placed in a % SBExtraKey environment. This allows them to be "shut off" when % they’re not needed. %%% \newenvironment{SBExtraKeys[1]{\if\WordsOnly\True \else #1 \fi{

%%% % \CBPageBrk - Generate a page break here if we’re in Chordbk mode. % Parameters: None. %%% \newcommand{\CBPageBrk{\if\ChordBk\True \pagebreak \else \fi

%%% % \NotWOPageBrk - Generate a page break here if we’re NOT in Words Only mode. % Parameters: None. %%% \newcommand{\NotWOPageBrk{\if\WordsOnly\False \pagebreak \else \fi

%%% % \OHPageBrk - Generate a page break here if we’re in OverHead mode. % Parameters: None. %%% \newcommand{\OHPageBrk{\if\Overhead\True \pagebreak \else \fi

%%% % \WOPageBrk - Generate a page break here if we’re in Words Only mode. % Parameters: None. %%% \newcommand{\WOPageBrk{\if\WordsOnly\True \pagebreak \else \fi

% %%% % End of songbook.sty file. %%%


This document was generated on January 31, 2023 using texi2html 5.0.